﻿using MengLin.OOP.DesignPattern.WMS_LC4.Interface;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MengLin.OOP.DesignPattern.WMS_LC4.Implements.HardwarePlatform
{
    /// <summary>
    /// 没有硬件支撑的温度传感器
    /// </summary>
    //public class TestTemperatureSensor : ITemperatureSensor, ISubject
    //{
    //    /// <summary>
    //    /// 观察者集合
    //    /// </summary>
    //    private List<IObserver> _monitoringScreens;

    //    public TestTemperatureSensor()
    //    {
    //        _monitoringScreens = new List<IObserver>();
    //    }

    //    /// <summary>
    //    /// 没有硬件平台读取温度
    //    /// </summary>
    //    /// <returns></returns>
    //    public void Read()
    //    {
    //        Console.WriteLine($"{nameof(TestTemperatureSensor)} Read Temperature");
    //        //通知观察者
    //        double currentTemperature = 41;//假设当前温度
    //        NotifyObservers(currentTemperature);
    //    }

    //    /// <summary>
    //    /// 通知每1个观察者显示温度
    //    /// </summary>
    //    /// <param name="obj"></param>
    //    public void NotifyObservers(double temperature)
    //    {
    //        foreach (var item in _monitoringScreens)
    //        {
    //            ((IObserver)item).Update(temperature);
    //        }
    //    }

    //    /// <summary>
    //    /// 注册/添加观察者
    //    /// </summary>
    //    /// <param name="obj"></param>
    //    public void RegisterObserver(IObserver obj)
    //    {
    //        _monitoringScreens.Add(obj);
    //    }

    //    /// <summary>
    //    /// 移除/删除观察者
    //    /// </summary>
    //    /// <param name="obj"></param>
    //    public void UnRegisterObserver(IObserver obj)
    //    {
    //        _monitoringScreens.Remove(obj);
    //    }
    //}
}
